1. Field of the Invention
The present invention relates to the field of digital typography. In particular, the present invention provides a method for determining the optimum angle for displaying a line on raster output devices.
2. Background of Prior Art
Existing digital font-rendering techniques on computers can be classified into three categories: (1) bitmap type, (2) algorithmic type, and (3) outline type.
Bitmap rendering techniques are the most direct way to display fonts as ultimately all fonts must be realized as bitmaps in the raster output devices such as printer or CRT. Here, fonts are described and manipulated as explicit bitmaps. However, such techniques consume a sizable amount of the computer's memory. (For example, see U.S. Pat. No. 4,029,947). Given the large variety of typefaces, selection of point sizes, and infinite choice of resolutions, bitmap rendering techniques are awkward to store and manipulate. Morever, fonts created by bitmap rendering techniques are visually satisfactory at the specific sizes at which they are installed in the systems. To obtain a font at sizes matching the raster output devices, one has to scale the font from the installed size to that of the desired size. The resulting output is unpredictable and usually appears visually "lumpy."
Algorithmic rendering techniques describe and specify typefaces with algorithmic programs. Such programs could be parametric, enabling font designers and developers to change a design via parameters each time the program is executed.
Outline rendering techniques describe and manipulate typefaces as outlines. A compact representation of font results from the use of splines to record and regenerate the shape of curves. Splines are curves that are controlled by a small set of given control points and tangents. Some manufacturers of outline fonts in the world use a system based on the principles of IKARUS. See Peter Karow, Digital Formats for Typefaces, (URW Verlag, 1987). Outline font-rendering techniques create outlines from digitized input of typefaces and convert outlines automatically to equivalent bitmap forms for output to raster output device, such as a printer or CRT. Representing idealized design by outlines not only obviates large memory storage but also permits interactive editing by the font designer.
Nevertheless, outlines do not render perfect characters at all sizes. Most outline font renderers are based on data structures which assume pre-defined steps in controlling outlines. A few outline font formats have primitives. Primitives are basic methods to control outlines, such as correcting the height of typefaces. The smaller number of pixels at low raster resolution makes it difficult to match fonts of different size and resolution. It should be noted that most of the raster output devices in current use, such as CRT and draft printers, are of the low raster resolution category. As such, it is important to improve the resulting bitmap of typefaces at low raster resolution.
One of the more difficult designing decisions under the outline rendering techniques is how to adjust the angle of a line in displaying at lower raster output devices. The decision for lines positioned vertically (90 degrees), horizontally (0 or 180 degrees), or even at (45 degrees) usually does not require much adjustments. However, for a character that has a line, such as a divide sign "/", or italic characters "A", or any glyph with a straight edge portion, the decision can be a difficult one as there are infinite angles between the above three given angles. It is, therefore, an objective of the present invention to provide a method of determining the optimum angle for displaying a line on raster output devices.